Перейти к основному содержимому

🐧 Основы Linux и командной строки

🎯 Цель раздела

Понимание принципов работы Linux — фундамент профессии инженера сопровождения. В этом разделе вы:

  • изучите базовые команды Linux и файловую структуру системы;
  • научитесь работать с терминалом и правами пользователей;
  • узнаете, как устроена система пакетов ROSA;
  • создадите удобное рабочее окружение для будущих сборок.

📁 Файловая структура Linux

Файловая система Linux едина и начинается с корня /.

КаталогНазначение
/binОсновные команды системы (например, ls, cp, mv)
/etcКонфигурационные файлы
/homeДомашние каталоги пользователей
/usrПользовательские приложения и библиотеки
/varИзменяемые данные (логи, кэши, базы данных)
/optСторонние приложения
/rootДомашний каталог администратора
/tmpВременные файлы

💡 Совет: команда tree -L 1 / покажет корневую структуру системы.


🧭 Навигация по терминалу

Терминал — главный инструмент инженера сопровождения.

КомандаОписание
pwdПоказать текущий путь
ls -laПросмотреть файлы и права доступа
cd <путь>Перейти в каталог
cp, mv, rmКопирование, перемещение и удаление файлов
cat, less, tail -fПросмотр содержимого файлов
mkdir, rmdirСоздание и удаление каталогов

Пример практики

Создайте рабочую директорию для проекта:

mkdir -p ~/workspace/hello-rpm
cd ~/workspace/hello-rpm

🔐 Права и пользователи

Каждый файл в Linux имеет владельца, группу и права доступа:

ls -l
# -rw-r--r-- 1 user group 1234 Oct 25 hello.c
СимволЗначение
rЧтение
wЗапись
xИсполнение

Изменить права можно с помощью chmod, chown и chgrp.

chmod +x build.sh
chown user:user build.sh

⚙️ Управление процессами

Для диагностики и сборок нужно уметь контролировать процессы.

КомандаНазначение
ps auxСписок всех процессов
top / htopМониторинг в реальном времени
kill <pid>Завершить процесс
journalctl -xeПросмотр системных логов

⚠️ Важно: перед сборкой пакета всегда проверяйте, нет ли зависших процессов сборки.


📦 Система пакетов ROSA

ROSA использует RPM и менеджер пакетов DNF (совместим с Fedora и RHEL).

КомандаОписание
dnf search <имя>Поиск пакета
dnf info <имя>Информация о пакете
dnf install <имя>Установка пакета
dnf remove <имя>Удаление
dnf list installedПросмотр установленных пакетов

Пример:

sudo dnf install rpmlint

🧩 Настройка окружения инженера

Создайте алиасы и удобные переменные окружения в ~/.bashrc:

alias ll='ls -lah --color=auto'
alias rpmb='rpmbuild -ba'
export EDITOR=vim

После изменения примените:

source ~/.bashrc

Теперь команды и цвета терминала станут удобнее для ежедневной работы.


🔗 Взаимодействие с Automated Build Farm (ABF)

Automated Build Farm (ABF) — система автоматизированной сборки и публикации пакетов ROSA. Инженеры сопровождают пакеты локально, а затем загружают SRPM в ABF для централизованной сборки и проверки.

На данном этапе вам нужно:

  1. Создать учётную запись на https://abf.rosalinux.ru;
  2. Изучить интерфейс: репозитории, сборки, логи;
  3. Позже — связать локальный Git с ABF (это будет подробно в документе о Git и коллаборации).

🧠 Мини-тест для самопроверки

ВопросОтвет
Где хранятся конфигурации системы?/etc
Как просмотреть процессы в системе?ps aux
Чем dnf отличается от rpm?dnf управляет зависимостями и установкой, rpm — только локальными пакетами
Что делает команда chmod +x script.sh?Делает файл исполняемым
Как называется система сборки пакетов ROSA?Automated Build Farm (ABF)

🧭 Итого

Теперь вы:

  • уверенно ориентируетесь в Linux;
  • знаете базовые команды и систему пакетов;
  • настроили комфортное рабочее окружение;
  • понимаете основы взаимодействия с ABF.

Следующий документ — “Основы RPM и SRPM” — станет вашим первым шагом к реальной сборке пакетов и изучению структуры SPEC-файлов.